home *** CD-ROM | disk | FTP | other *** search
- ;* MIXSD.INC
- ;*
- ;* Miscellaneous helper functions common to all mixing sound devices.
- ;* Technically these functions should be part of each Sound Device's internal
- ;* code, but are here to save some space and help maintenance.
- ;*
- ;* $Id: mixsd.inc,v 1.3 1997/01/16 18:41:59 pekangas Exp $
- ;*
- ;* Copyright 1996,1997 Housemarque Inc.
- ;*
- ;* This file is part of the MIDAS Sound System, and may only be
- ;* used, modified and distributed under the terms of the MIDAS
- ;* Sound System license, LICENSE.TXT. By continuing to use,
- ;* modify or distribute this file you indicate that you have
- ;* read the license and understand and accept it fully.
- ;*
-
-
-
-
- ;/***************************************************************************\
- ;*
- ;* Function: int mixsdInit(unsigned mixRate, unsigned mode,
- ;* unsigned dmaChNum)
- ;*
- ;* Description: Common initialization for all mixing Sound Devices.
- ;* Initializes DMA functions, DSM, start DMA playback and
- ;* allocates memory for possible post-processing tables
- ;*
- ;* Input: unsigned mixRate mixing rate in Hz
- ;* unsigned mode output mode
- ;* unsigned dmaChNum DMA channel number
- ;*
- ;* Returns: MIDAS error code
- ;*
- ;\***************************************************************************/
-
- GLOBAL LANG mixsdInit : _funct
-
-
-
-
- ;/***************************************************************************\
- ;*
- ;* Function: int CALLING mixsdClose(void)
- ;*
- ;* Description: Common uninitialization code for all mixing Sound Devices.
- ;* Uninitializes DMA playback and DSM and deallocates memory.
- ;*
- ;* Returns: MIDAS error code
- ;*
- ;\***************************************************************************/
-
- GLOBAL LANG mixsdClose : _funct
-
-
-
-
- ;/***************************************************************************\
- ;*
- ;* Function: int mixsdGetMode(unsigned *mode)
- ;*
- ;* Description: Reads the current output mode
- ;*
- ;* Input: unsigned *mode pointer to output mode
- ;*
- ;* Returns: MIDAS error code. Output mode is written to *mode.
- ;*
- ;\***************************************************************************/
-
- GLOBAL LANG mixsdGetMode : _funct
-
-
-
-
- ;/***************************************************************************\
- ;*
- ;* Function: int mixsdOpenChannels(unsigned channels)
- ;*
- ;* Description: Opens sound channels for output. Prepares post-processing
- ;* tables, takes care of default amplification and finally opens
- ;* DSM channels. Channels can be closed by simply calling
- ;* dsmCloseChannels().
- ;*
- ;* Input: unsigned channels number of channels to open
- ;*
- ;* Returns: MIDAS error code
- ;*
- ;\***************************************************************************/
-
- GLOBAL LANG mixsdOpenChannels : _funct
-
-
-
-
- ;/***************************************************************************\
- ;*
- ;* Function: int mixsdSetAmplification(unsigned amplification)
- ;*
- ;* Description: Sets the amplification level. Calculates new post-processing
- ;* tables and calls dsmSetAmplification() as necessary.
- ;*
- ;* Input: unsigned amplification amplification value
- ;*
- ;* Returns: MIDAS error code
- ;*
- ;\***************************************************************************/
-
- GLOBAL LANG mixsdSetAmplification : _funct
-
-
-
-
- ;/***************************************************************************\
- ;*
- ;* Function: int mixsdGetAmplification(unsigned *amplification);
- ;*
- ;* Description: Reads the current amplification level. (DSM doesn't
- ;* necessarily know the actual amplification level if
- ;* post-processing takes care of amplification)
- ;*
- ;* Input: unsigned *amplification pointer to amplification level
- ;*
- ;* Returns: MIDAS error code. Amplification level is written to
- ;* *amplification.
- ;*
- ;\***************************************************************************/
-
- GLOBAL LANG mixsdGetAmplification : _funct
-
-
-
-
- ;/***************************************************************************\
- ;*
- ;* Function: int mixsdSetUpdRate(unsigned updRate);
- ;*
- ;* Description: Sets the channel value update rate (depends on song tempo)
- ;*
- ;* Input: unsigned updRate update rate in 100*Hz (eg. 50Hz
- ;* becomes 5000).
- ;*
- ;* Returns: MIDAS error code
- ;*
- ;\***************************************************************************/
-
- GLOBAL LANG mixsdSetUpdRate : _funct
-
-
-
-
- ;/***************************************************************************\
- ;*
- ;* Function: int mixsdStartPlay(void)
- ;*
- ;* Description: Prepares for playing - reads DMA playing position. Called
- ;* once before the Sound Device and music player polling loop.
- ;*
- ;* Returns: MIDAS error code
- ;*
- ;\***************************************************************************/
-
- GLOBAL LANG mixsdStartPlay : _funct
-
-
-
-
- ;/***************************************************************************\
- ;*
- ;* Function: int mixsdPlay(int *callMP);
- ;*
- ;* Description: Plays the sound - mixes the correct amount of data with DSM
- ;* and copies it to DMA buffer with post-processing.
- ;*
- ;* Input: int *callMP pointer to music player calling flag
- ;*
- ;* Returns: MIDAS error code. If enough data was mixed for one updating
- ;* round and music player should be called, 1 is written to
- ;* *callMP, otherwise 0 is written there. Note that if music
- ;* player can be called, mixsdPlay() should be called again
- ;* with a new check for music playing to ensure the DMA buffer
- ;* gets filled with new data.
- ;*
- ;\***************************************************************************/
-
- GLOBAL LANG mixsdPlay : _funct
-
-
- ;* $Log: mixsd.inc,v $
- ;* Revision 1.3 1997/01/16 18:41:59 pekangas
- ;* Changed copyright messages to Housemarque
- ;*
- ;* Revision 1.2 1996/05/30 22:38:46 pekangas
- ;* no changes?
- ;*
- ;* Revision 1.1 1996/05/22 20:49:33 pekangas
- ;* Initial revision
- ;*